let person = {
  name: '牛哥',
  age: 20,
  like: {
    n: 'running'
  }
}

function shallow(obj) {
  let res = {}
  for (let key in obj) {
    //要判断 key 是不是 obj 显式拥有的属性，因为如果key不是obj显式拥有那么for in会去隐式原型上面查找属性，
    // hasOwnProperty()方法会返回一个布尔值，判断该属性是否显式拥有，是就返回true否则返回false
    if (obj.hasOwnProperty(key)) {
      //obj中的key只能是字符串，所以用[]
      res[key] = obj[key]
    }
  }
  return res
}


console.log(shallow(person));
